﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SIGEB.Modelo.moduloPerfiles
{
    public class tipoPerfil
    {
        #region "constructores"

        public tipoPerfil(String codTipoPerfil, String nombre, String permisosPredetermiandos)
        {
            this.codTipoPerfil = codTipoPerfil;
            this.nombre = nombre;
            this.permisosPredeterminados = permisosPredetermiandos;
        }

        #endregion

        #region "metodos"

        public bool permisoCorrectos(String permisos)
        {
            if (permisos.Length != permisosPredeterminados.Length)
            {
                throw new Exception("No coincide la cadena de permisos");
            }
            for (int i = 0; i < permisosPredeterminados.Length; i++)
            {
                if (permisosPredeterminados[i] == '0' && permisos[i] == '1')
                {
                    return false;
                }
            }
            return true;
        }

        public bool tipoPerfValido()
        {
            return permisosPredeterminados.Length == acciones.MAXIMO;
        }

        #endregion

        #region "atributos"

        private String _codTipoPerfil;
        private String _nombre;
        private String _permisosPredeterminados;

        public String codTipoPerfil
        {
            set { _codTipoPerfil = value; }
            get { return _codTipoPerfil; }
        }

        public String nombre
        {
            set { _nombre = value; }
            get { return _nombre; }
        }

        public String permisosPredeterminados
        {
            set { _permisosPredeterminados = value; }
            get { return _permisosPredeterminados; }
        }

        #endregion
    }
}
